Projekt Pronal Projekt Pronal

Kazalo:
Sofinasiranje projekta
Starejši - zbirka nalog...
Tekmovanja...
Tekmovanja - dopolni...
Tekmovanja - Parsons...
Tekmovanja - popravi...
Starejši - učbenik
Funkcije
If stavek
Izpisi
Množice
Nizi
Pisanje in popravljanje programa
Seznami in nizi
Slovarji
Spoznajmo Python
Uvod v funkcije
Zanka for
Zanka while
Seznami in nizi

Seznami in nizi


Seznami in nizi - naloge

Seznami so objekti, v katerih lahko shranjujemo podatke. Če smo v spremenljivkah hranili po en podatek, lahko v seznamu priredimo več podatkov. Te podatke navedemo v oglatih oklepajih, ločimo pa jih z vejico:

  seznam = [ prvi_podatek, drugi_podatek, tretji_podatek]

V seznamih so indeksi določeni enako kot pri nizih, le da namesto vsakeka znaka posebej štejemo vsak element posebej. Šteti začnemo pri $0$, vsak naslednji element pa ima za $1$ višji indeks.

Do elementa na $i$-tem indeksu dostopamo enako kot pri nizih. seznam[i]

Podatki, ki jih lahko shranjujemo v seznamu, so lahko razlčnih tipov (npr. število, niz,...) Prazen seznam ustvarimo z praznimi oglatimi oklepaji,

  prazen_seznam = []

lahko pa že v naprej povemo, kaj bo v seznamu:

  seznam_števil = [1, 2, 3, 5]

Dva seznama lahko staknemo z operacijo +:

  >>> seznam_1 = [1, 3]
  >>> seznam_2 = [4, 5, 6]

  >>> seznam_3 = seznam_1 + seznam_2

Novi tako vsebuje elemente iz seznama_1 in seznama_2.

  >>> seznam_3
  [1, 3, 4, 5, 6]`

Število elementov v seznamu pa lahko preverimo s funkcijo len(seznam):

  >>> len(seznam_3)
  5

1. podnaloga

Naloga

Napiši funkcijo dodaj_niz(nakupovalni_listek, nov_artikel), ki na nakupovalni listek doda nov artikel, nato pa vrne dopoljnjen listek. Nakupovalni listek je seznam nizov oblike ['jabolka', 'mleko', 'jajca'] nov artikel pa niz 'zelje'.

Uradna rešitev

def dodaj_niz(nakupovalni_listek, nov_artikel):
    """Na seznam nizov nakupovalni_listek doda niz nov_artikel in vrne dopoljnen listek"""
    nov_listek = nakupovalni_listek
    nov_listek.append(nov_artikel)
    return nov_listek

2. podnaloga

Na nakupovalnem listku so artikli razporejeni po pomembnosti tako, da je na prvem mestu najpomembnejši in na zadnjem najmanj pomemben. Janezku se mudi, zato bo le na hitro skočil v trgovino po nekaj najpomembnejših stvari.

Naloga

Napiši funkcijo najpomembnejse(nakupovalni_listek, k), ki Janezku skrajša seznam nizov nakupovalni_listek, do dolžine $k$ najpomembnejših artiklov.

Uradna rešitev

def najpomembnejse(nakupovalni_listek, k):
    """Ustvari nov seznam nizov, kamor doda k-elemntov iz nakupovalnega listka in ga vrne"""
    nov_listek = nakupovalni_listek[:k]
    return nov_listek

3. podnaloga

Naloga

Napiši funkcijo najdaljsi_niz(nakupovalni_listek), ki seznamu nizov nakupovalni_listek poišče artikel z najdaljšim imenom in ga vrne.

Uradna rešitev

def najdaljsi_niz(nakupovalni_listek):
    """Poisce in vrne najdaljsi niz v seznamu nakupovalni_listek"""
    naj_niz = max(nakupovalni_listek, key = len)
    return naj_niz
Mesto objave ob koncu projekta 15.9.2018